
using System;

using System.Collections.Generic;
using UnityEngine;

public class Solution : MonoBehaviour
{

    public class TreeNode
    {
        public int val;
        public TreeNode left;
        public TreeNode right;
        public TreeNode(int x) { val = x; }
    }
    void Start()
    {
        int[] nums = { 5, 5, 6, 6, 7, 8, 1, 2, 3, 4, 5 };
        //Debug.Log(MinArray(nums));

    }
    //我的思路：将数放入两个链表，将树的匹配转换为 两个类似于字符串的匹配方式

    //官方思路：进行递归调用 分别递归比较两个数的节点


    // public bool IsSubStructure(TreeNode A, TreeNode B)
    // {
    //     return (A != null && B != null) && (recur(A, B) || IsSubStructure(A.left, B) || IsSubStructure(A.right, B));
    // }
    // public bool recur(TreeNode A, TreeNode B)
    // {
    //     if (B == null)
    //     {
    //         return true;
    //     }
    //     if (A == null || A.val != B.val)
    //     {
    //         return false;
    //     }
    //     else
    //     {
    //         return recur(A.left, B.left) && recur(A.right, B.right);
    //     }

    // // }
    // public TreeNode MirrorTree(TreeNode root)
    // {
    //     if (root == null || (root.left == null && root.right == null))
    //     {
    //         return root;
    //     }


    //     TreeNode temp = new TreeNode(0);
    //     temp = root.left;
    //     root.left = root.right;
    //     root.right = temp;
    //     if (root.left != null)
    //     {
    //         MirrorTree(root.left);

    //     }
    //     if (root.right != null)
    //     {
    //         MirrorTree(root.right);

    //     }
    //     return root;
    // }

    //第三题方法 同一差不多 放入 A.left和 B.right进行遍历 比较
}